package com.wuliu.system.service;

import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.wuliu.system.domain.TolPush;
import com.wuliu.system.domain.dto.CustInfoDto;
import com.wuliu.system.domain.vo.BasCustVo;
import me.chanjar.weixin.common.error.WxErrorException;

/**
 * @author realue
 * @version 1.0
 * @date 2023-10-09 22:38
 */
public interface WeixinService {

    /**
     * 获取小程序用户openId
     *
     * @param code
     * @param sysAccount
     * @return
     * @throws WxErrorException
     */
    WxMaJscode2SessionResult getJsCode(String code, String sysAccount) throws WxErrorException;

    /**
     * 小程序登录
     *
     * @param custInfoDto
     * @return
     */
    BasCustVo login(CustInfoDto custInfoDto);

    /**
     * 获取用户绑定的手机号
     * @param code
     * @param sysAccount
     * @return
     */
    String getPhone(String code, String sysAccount) throws WxErrorException;

    /**
     * 推送小程序公众号消息
     *
     * @param tolPush
     * @throws WxErrorException
     */
    void pushWxMessage(TolPush tolPush);

    /**
     * 生成带参数的小程序二维码
     * @param page
     * @param scene
     * @return
     */
    String getUnlimited(String page,String scene, String sysAccount) throws WxErrorException;
}
